﻿namespace Sai.Core.Introspection
{
	public abstract class FunctionMember : TypeMember
	{
		protected FunctionMember(TypeName typeName)
			: base(typeName)
		{
		}

		protected FunctionMember(TypeName typeName, ObsoleteMarker obsolete, TypeName declaringType)
			: base(typeName, obsolete)
		{
			this.DeclaringType = declaringType;
		}

		public TypeName DeclaringType { get; set; }
        
        /// <summary>
        /// We assume members are public unless otherwise specified.
        /// </summary>
        public bool IsProtected { get; set; }
	}
}
